Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today's modern society. Personal computers (PCs) may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM or DVD-ROM drive, a fixed disk storage drive (also known as a “hard drive”), a pointing device such as a mouse, and an optional network interface adapter. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. The use of mobile computing devices, such as notebook PCs, personal digital assistants (PDAs), sophisticated wireless phones, etc., has also become widespread. Mobile computing devices typically exchange some functionality or performance when compared to traditional PCs in exchange for smaller size, portable power, and mobility.
Networks such as the Internet and corporate intranets provide a mechanism for users to transfer data among computers for information sharing, workplace collaboration, data collection, etc. Users gain access to networks such as the Internet by accessing a web server via personal Internet service providers (ISP's), broadband network connections, or high speed network connections through office systems. Typically, a user will view Internet or intranet content using a graphic browser application such as Microsoft Corporation's Internet Explorer™, Netscape Communication Corporation's Navigator™, Mozilla Foundation's Mozilla, Apple Corporation's Safari™, etc. Browsers, at their most basic level of operation, permit users to connect to a given network site, download informational content from that site, and display that information to the user. To view additional information, the user designates a new network address (such as by selecting a link) whose contents then replace the previously displayed information on the user's computer display.
As the amount of information available to users continues to dramatically increase, portal sites (known also as portals) have become more and more popular for aggregating and displaying information to users. Portals are an entry point or gateway for access to other web sites and information and provide a single point of access to a wide variety of content, data, knowledge, and services throughout an enterprise or network. As such, they have become increasingly popular with users as a stalling point (often designated as their “home page”, the first page displayed when they start their browser) for their use of a network. Publicly accessible Internet portals include Yahoo! Corporation's My Yahoo!®, Microsoft Corporation's MSN®, Google Corporation's Google™ News, etc. Private portals, including Time Warner Inc.'s America On-line (AOL®) service, are also popular. Many large companies also provide portals on their corporate intranet for use by all of their employees or groups of employees. Portal software may include International Business Machines Corp.'s (IBM®'s) WebSphere® integration and application infrastructure software or other software.
Portals allow a user to view content or links to multiple other sites (at different network addresses) simultaneously on one display, rather than forcing users to only view content from one site at a time. An Internet portal could, for example, simultaneously provide users with content from a news service, weather service, sports score service, etc., with each service potentially being provided by a different network site. If the user desired more information from any of those services, the user could select the link to that service and the portal would facilitate the connection between the user and the other site. Each application or module of a portal is often called a portlet, which is a reusable web component that displays relevant information to portal users. Portal users may typically modify the particular portlets displayed on a portal as well as their location or configuration.
Often when navigating a web site such as a portal, a user may get ‘lost’ and be unable to find the content or functionality for which they are looking. On relatively static sites, one common strategy for addressing the problem of the lost user is the addition of a site map to the web site. A site map is a high-level visual representation of the organization of the web site's content. Site maps can be a very effective usability enhancement, but their usefulness decreases dramatically when the site organization is no longer static, as the site map may not reflect recent changes or differences between users. A portal allows the location of content and functionality of a web site to be dynamic based on end user customization through the use of portlets. With portal technology, a static site map created by the web developer no longer has meaning as any portlet customization by the end user automatically creates a new site organization, which in turn results in new site navigation. As a result, any user-initiated customization of portals or portals renders the site map invalid.
One solution to this problem is to use IBM®'s WebSphere® Portal Server software to generate a dynamic site map to the page level. Such a solution, however, does not identify portlets contained on the portal pages, making it impossible for the user to find portlets or links to functionality contained within a portlet. Another solution to the problem would be for a help desk provider to interrogate and navigate an end user's machine (with installed help desk software) to find content or functionality for the user. This solution, however, is highly invasive and labor-intensive, There is, therefore, a need for an effective mechanism for dynamically generating a site map for a portal, including any portlets. There is an even greater need for such a system when users modify the selected portlets or their location.